package net.servir.capacidades.service;

import java.util.LinkedList;
import java.util.List;

import net.servir.capacidades.model.FuncionLeyenda;
import net.servir.capacidades.model.GrupoCalificacion;
import net.servir.capacidades.model.Persona;
import net.servir.capacidades.model.PreguntaServicio;
import net.servir.capacidades.model.PreguntaTipo;
import net.servir.capacidades.model.Profesion;
import net.servir.capacidades.model.PuestoTipo;
import net.servir.capacidades.model.Regimen;
import net.servir.capacidades.model.Restriccion;
import net.servir.capacidades.model.SectorPregunta;
import net.servir.capacidades.model.SegPerfil;
import net.servir.capacidades.model.SegPerfilPermiso;
import net.servir.capacidades.model.SegPermiso;
import net.servir.capacidades.model.Enumerados.GrupoDatosMaestro;
import net.servir.capacidades.model.SegRecurso;
import net.servir.capacidades.model.Usuario;
import net.servir.capacidades.model.Wserror;
import net.servir.capacidades.model.jsp.JspUsuarioEdicion;

public interface MantenimientoService {

	public PuestoTipo getPuestoTipo(Number idPuestoTipo);
	public List<PuestoTipo> getPuestoTipos(Number idSistema);
	public List<FuncionLeyenda> getFuncionesPorSistema(Number idSistema, GrupoDatosMaestro nivel);
	public List<SectorPregunta> getSectoresPregunta(GrupoDatosMaestro nivel);
	public List<GrupoCalificacion> getGruposCalificacionPorSistema(Number idSistema);
	public List<GrupoCalificacion> getGruposCalificacionNemotecnicoPorSistema(Number idSistema);
	public List<PreguntaServicio> getPreguntasServicio(Number idSistema);
	public List<PreguntaTipo> getPreguntaTipos(Number idSistema);
	public String esJefePuestoTipo(Number idPuestoTipo);
	public String grabarProfesion(Profesion profesion);
	public Integer grabarGrupoCalificacion(GrupoCalificacion grupoCalificacion);
	public String grabarRegimen(Regimen regimen);
	public String validarEliminarProfesion(String cod_profesion);
	public String validarEliminarPerfil(Integer idPerfil);
	public String validarEliminarGrupoCalificacion(Integer id_grupo_califica);
	public void eliminarProfesion(String cod_profesion);
	public void eliminarPerfil(Integer idPerfil);
	public void eliminarGrupoCalificacion(Integer id_grupo_califica);
	public String validarEliminarRegimen(String cod_regimen);
	public void eliminarRegimen(String cod_regimen);
	public List obtenerUsuarios();
	public Usuario obtenerUsuario(String codUsuario);
	public Persona getPersona(String codUsuario);
	public LinkedList<SegRecurso> getSegRecursos(Integer idPerfil);
	public LinkedList<SegPermiso> getSegPermisos(Integer idRecurso, Integer idPerfil);
	public LinkedList<SegPerfilPermiso> getSegPerfilPermiso(Integer idPerfil);
	public SegPerfil getSegPerfil(Integer idPerfil);
	public Integer grabarSegPerfil(SegPerfil segPerfil);
	public void eliminarPermiso(SegPerfilPermiso segPerfilPermiso);
	public void agregarPermiso(SegPerfilPermiso segPerfilPermiso);
	public LinkedList<Restriccion> getRestricciones();
	public LinkedList<Wserror> getWserrores();
	public void setLogWS(Usuario usuario);
	public List<PuestoTipo> getPuestoTiposOperadores(Integer idSistema);

}
